Industrial controllers are special purpose processing devices used for controlling industrial processes, machines, manufacturing equipment, and other factory automation applications. In accordance with a control program or routine, an industrial controller can measure one or more process variables or inputs representative of the status of a controlled process, and change outputs effecting control of the process. The inputs and outputs can be binary, (e.g., on or off), and/or analog assuming a continuous range of values. The control routine can be executed in a series of execution cycles with batch processing capabilities, and can comprise one or more functional units. The measured inputs received from a controlled process and the outputs transmitted to the process can pass through one or more input/output (I/O) modules in a control system, which serve as an electrical interface between the controller and the controlled process, and can be located proximate or remote from the controller. The inputs and outputs can be recorded in an I/O table in processor memory. Input values can be asynchronously read from the controlled process by one or more input modules and output values can be written directly to the I/O table by a processor for subsequent communication to the process by specialized communications circuitry. An output module can interface directly with a controlled process, by providing an output from an I/O table to an actuator such as a motor, valve, solenoid, and the like.
During execution of the control routine, values of the inputs and outputs exchanged with the controlled process pass through the I/O table. The values of inputs in the I/O table can be asynchronously updated from the controlled process by dedicated scanning circuitry. This scanning circuitry can communicate with input and/or output modules over a bus on a backplane or network communications. The scanning circuitry can also asynchronously write values of the outputs in the I/O table to the controlled process. The output values from the I/O table can then be communicated to one or more output modules for interfacing with the process.
In distributed control systems, controller hardware configuration can be facilitated by separating the industrial controller into a number of control modules, each of which performs a different function. Particular control modules needed for the control task can then be connected together on a common backplane within a rack and/or through a network or other communications medium. The control modules can include processors, power supplies, network communication modules, and I/O modules exchanging input and output signals directly with the controlled process. Data can be exchanged between modules using a backplane communications bus, which can be serial or parallel, or via a network. In addition to performing I/O operations based solely on network communications, smart modules exist which can execute autonomous logical or other control programs or routines.
Various control modules of a distributed industrial control system can be spatially distributed along a common communication link in several racks. Certain I/O modules can thus be located proximate a portion of the control equipment, and away from the remainder of the controller. Data can be communicated with these remote modules over a common communication link, or network, wherein all modules on the network communicate via a standard communications protocol.
In a typical distributed control system, one or more I/O modules are provided for interfacing with a process. The outputs derive their control or output values in the form of a message from a master or peer device over a network or a backplane. For example, an output module can receive an output value from a processor, such as a programmable logic controller (PLC), via a communications network or a backplane communications bus. The desired output value is generally sent to the output module in a message, such as an I/O message. The output module receiving such a message will provide a corresponding output (analog or digital) to the controlled process. Input modules measure a value of a process variable and report the input values to a master or peer device over a network or backplane. The input values can be used by a processor (e.g., a PLC) for performing control computations.
In many control applications, it is desirable to synchronize the operation of one or more process actuators (e.g., valves, motors, etc.) in order to effectuate a control strategy, such as in conveyor systems having two or more motorized rollers, where the conveyor operates best when the motors operate in unison. Conventional distributed control devices typically include one or more control modules situated in a control rack or chassis, wherein the modules in a particular chassis communicate with each other over a backplane communications bus. Such controllers can include a counter associated with the backplane, which provides a coordinated system time (CST) value to the modules in the chassis. The system time value can be employed in one or more of the modules in a chassis in order to coordinate operation of one or more actuators associated with a controlled system. For instance, two or more motor drive control modules can be situated within a common control chassis with a CST timer providing time information to each of the motor drive modules. The modules can then perform coordinated control operations using the CST time information obtained from the backplane bus, whereby a certain amount of temporal synchronization can be achieved between such modules. Such synchronized operations can include time stamping input values, scheduling output events, and the like.
However, conventional CST time-sharing control equipment cannot provide for synchronizing control events outside of a single control chassis. In some industrial applications, control components associated with a controlled system may need to be located remotely from one another. In these situations, it can be impractical or impossible to locate all the control modules within a single rack or control chassis. Thus, for example, in a paper processing facility, motor controls may be required for a plurality of motor type actuators located remotely from one another. Consequently, it has heretofore been difficult or impossible to perform control actions in temporal synchronization across widely distributed control systems. In addition, CST timers associated with control chassis backplanes do not provide synchronization of control events performed in stand-alone controllers, such as motor drives. Moreover, individual CST timers in separate control racks or chassis can drift apart due to the accuracies of their respective timer circuits. Thus, there is a need for improved time synchronization methods and apparatus by which synchronized control actions can be achieved in distributed control systems.